## --------------------------------------------------------------------------
#  Palm OS Generic Static Lib Makefile for Palm OS Developer Suite v1.1.0
#
# Last edit: 11/5/04
#
# Fill in this file to specify your project and the source that you want
# to build, and the settings involved in the build. The makefile-engine.mk
# will then do the hard work of the makefile and dependency handling.
#
# After starting a new project, please remember the following steps...
#	1. Add all sources in SOURCES
#	2. Review the other settings as needed.
#
## --------------------------------------------------------------------------

SHELL = /bin/sh

## --------------------------------------------------------------------------
# Set up the artifact name, which is the root name of your project's output
# without the extension.
#
# The static library name and other file names are based on the artifact name
## --------------------------------------------------------------------------

ARTIFACT_NAME =???ARTIFACT_NAME???

EMPTY =
SPACE =$(EMPTY) $(EMPTY)
ESCAPED_ARTIFACT_NAME = $(subst $(SPACE),\ ,$(ARTIFACT_NAME))
LIB_NAME = $(ESCAPED_ARTIFACT_NAME).a
SIM_LIB_NAME = $(ESCAPED_ARTIFACT_NAME).lib

## --------------------------------------------------------------------------
# Sources
# List all the sources (.c/.cpp) in your project
# Use project relative path names with forward slashes (src/code.cpp).
# Please do not use spaces in directory names.
## --------------------------------------------------------------------------

# TODO: Update all sources

SOURCES = ???SOURCES???

## --------------------------------------------------------------------------
# Build Settings
# Review the following for your needs.
# The default settings build with debug information and no optimization.
## --------------------------------------------------------------------------

#
# Set Debug or Release configuration here
#
DEBUG_OR_RELEASE=Debug

#
# Set the target platform for the build; either Device or Simulator
# Use Device as a target for emulator builds.  
# Device produces code in ARM format while Simulator targets
# produce code in the format of the native build platform (e.g. x86 for
# Windows systems).
#
TARGET_PLATFORM=Simulator

# Specify the level of optimization that you want
# NONE, SOME, FULL
OPTIMIZE_LEVEL = ???OPTIMIZE_LEVEL???

# Specify warning level
# NONE = suppress all warnings
# ALL = enable all warnings
# <undefined> = default warnings
# For simulator target compilation, set SIM_WARNING_LEVEL
SIM_WARNING_LEVEL = ???SIM_WARNING_LEVEL???

# Specify warning level for PNO device target compilation
# NONE = suppress all warnings
# SOME = enable some warnings
# ALL = enable all warnings
# <undefined> = default warnings
PNO_WARNING_LEVEL = ???PNO_WARNING_LEVEL???

# Specify if warnings are treated as errors
# values: TRUE, FALSE
# for PNO device builds, set PNO_WARNING_AS_ERROR
# for PNO simulator builds, set SIM_WARNING_AS_ERROR
PNO_WARNING_AS_ERROR = ???PNO_WARNING_AS_ERROR???
SIM_WARNING_AS_ERROR = ???SIM_WARNING_AS_ERROR???

# Specify verbose output
# TRUE, FALSE
# for PNO device builds, set PNO_VERBOSE
# for PNO simulator builds, set SIM_VERBOSE
PNO_VERBOSE = ???PNO_VERBOSE???
SIM_VERBOSE = ???SIM_VERBOSE???

# Specify assertion support for PNO device builds
# TRUE, FALSE
ENABLE_ASSERTIONS = ???ENABLE_ASSERTIONS???


# Additional paths to look for #include "header"
# (Source file directories are automatically included)
# Please note that both local and system include paths should 
# either use "cygwin" syntax or if in Windows syntax the should
# be quoted; i.e. ../MyLibrary/headers or "C:\Source\MyLibrary\headers".
# Additionally, you must explicly specify the "-I" prior to each
# path included in this variable.  Spaces are used to separate
# each path from each other.
LOCAL_PNO_INCLUDE_PATHS = ???PNO_LOCAL_INCLUDE_PATHS???
LOCAL_PNO_SIM_INCLUDE_PATHS = ???SIM_LOCAL_INCLUDE_PATHS???

# Additional paths to look for #include <header>
# (Palm OS SDK directories are automatically included)
# Additionally, you must explicly specify the "-I" prior to each
# path included in this variable.  Spaces are used to separate
# each path from each other.
SYSTEM_PNO_INCLUDE_PATHS = ???PNO_SYSTEM_INCLUDE_PATHS???
SYSTEM_PNO_SIM_INCLUDE_PATHS = ???SIM_SYSTEM_INCLUDE_PATHS???
PNO_PRE_INCLUDE_PATHS = ???PNO_PRE_INCLUDE_PATHS???
PNO_SIM_PRE_INCLUDE_PATHS = ???SIM_PRE_INCLUDE_PATHS???

# Specify any needed preprocessor symbols.
# If you set DEFINES to "ASSERTLEVEL=1", the compiler will see "-DASSERTLEVEL=1"
# (separate individual entries with spaces)
PNO_DEFINES = ???PNO_DEFINES???
PNO_SIM_DEFINES = ???SIM_DEFINES???
PNO_UNDEFINES = ???PNO_UNDEFINES???
PNO_SIM_UNDEFINES = ???SIM_UNDEFINES???

# Specify additional compiler flags for all files
ADDITIONAL_PNO_COMPILER_FLAGS = ???ADDITIONAL_PNO_COMPILER_FLAGS??? -nologo
ADDITIONAL_PNO_SIM_COMPILER_FLAGS = ???ADDITIONAL_SIM_COMPILER_FLAGS???

# Specify additional archival options 
ADDITIONAL_AR_FLAGS = ???ADDITIONAL_AR_FLAGS???
ADDITIONAL_SIM_AR_FLAGS =


# Tools Directory
# Normally you wouldn't want to override this since the necessary tools
# are in the PATH.  But if you experimenting with other tools, then 
# reset the directory here
# If overridden, end with a trailing '/'
TOOLS_DIR =


## --------------------------------------------------------------------------
# Output Settings
## --------------------------------------------------------------------------

# Modify if you want object and output files to be in different locations
# (However, please note that all object directories must be different
# for the makefile engine to properly operate.)
# Initially, device and simulator builds go to the same output directories 
# because the 68K compilations steps and outputs are the same for both targets

DEBUG_DEVICE_OUTPUT_DIR := DebugDevice
RELEASE_DEVICE_OUTPUT_DIR := ReleaseDevice
DEBUG_SIMULATOR_OUTPUT_DIR := DebugSim
RELEASE_SIMULATOR_OUTPUT_DIR := ReleaseSim


## --------------------------------------------------------------------------
# Makefiles
## --------------------------------------------------------------------------

## conditionally include an auto-generated.mk for dynamic definitions
-include auto-generated.mk

## include the makefile engine
include makefile-engine.mk

## conditionally include your own custom.mk for your specific overrides or definitions
## this is useful if you don't want to use the auto-generated.mk values
## for some reason
-include custom.mk
